package com.hzw.saas.api.hpc.bo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.hutool.core.date.DatePattern;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 完整的HPC信息
 * </p>
 *
 * @author sonam
 * @since 2021/6/9 15:22
 */
@Data
@Accessors(chain = true)
public class HpcAccountInfoFullBo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "HPC账号ID")
    private String hpcAccountId;
    @Excel(name = "HPC账号用户名", width = 20, orderNum="1")
    @ApiModelProperty(value = "HPC账号用户名")
    private String hpcAccount;
    @Excel(name = "HPC账号密码", width = 20, orderNum="2")
    @ApiModelProperty(value = "HPC账号密码")
    private String hpcPassword;
    @ApiModelProperty(value = "HPC主机地址")
    private String host;
    @ApiModelProperty(value = "HPC主机端口号")
    private Integer port;
    @ApiModelProperty(value = "HPC账号创建时间")
    private Date hpcCreateTime;
    @Excel(name = "HPC核时总量",width = 30, numFormat = "######0.00", orderNum="11")
    @ApiModelProperty(value = "HPC核时总量")
    private Double coreTimeAvailableTotal;
    @Excel(name = "HPC核时剩余",width = 30, numFormat = "######0.00", orderNum="12")
    @ApiModelProperty(value = "HPC核时剩余")
    private Double coreTimeAvailable;

    @ApiModelProperty(value = "HPC用户ID")
    private String hpcAccountUserId;
    @ApiModelProperty(value = "是否为主账号，0-子账号，1-主账号")
    private Integer isMain;
    @ApiModelProperty(value = "状态，1-正常，0-冻结")
    private Integer status;
    @Excel(name = "状态", width = 30, orderNum = "6")
    @ApiModelProperty(value = "状态，1-正常，0-冻结")
    private String statusText;
    @ApiModelProperty(value = "是否能分享，1-能，0-不能")
    private Integer canShare;
    @ApiModelProperty(value = "无限算力，1-无限，0-有限")
    private Integer isInfinite;
    @ApiModelProperty(value = "共享帐号过期时间")
    private Date subExpireTime;

    @ApiModelProperty(value = "HPC与用户关联ID")
    private String hpcAccountRecordId;
    @Excel(name = "截止日期",width = 20, exportFormat= DatePattern.NORM_DATE_PATTERN, orderNum="8")
    @ApiModelProperty(value = "到期时间")
    private Date expireTime;
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @Excel(name = "HPC用户核时总量",width = 30, numFormat = "######0.00", orderNum="9")
    @ApiModelProperty(value = "HPC用户核时总量")
    private Double coreTimeBalanceTotal;
    @Excel(name = "HPC用户核时剩余",width = 30, numFormat = "######0.00", orderNum="10")
    @ApiModelProperty(value = "HPC用户核时剩余")
    private Double coreTimeBalance;
    @ApiModelProperty(value = "slurm账号")
    private String slurmAccount;
    @ApiModelProperty(value = "slurm队列类型")
    private String slurmAccountDesc;

    @ApiModelProperty(value = "用户ID")
    private String userId;
    @ApiModelProperty(value = "手机邮箱")
    private String email;
    @Excel(name = "客户手机号", width = 30, orderNum="4")
    @ApiModelProperty(value = "手机号码")
    private String phoneNo;
    private String customerNo;
    @Excel(name = "客户姓名", width = 30, orderNum="3")
    @ApiModelProperty(value = "客户姓名")
    private String customerName;
    @ApiModelProperty(value = "客户等级ID")
    private String customerLevel;
    @ApiModelProperty(value = "客户渠道")
    private String channelDesc;
    @Excel(name = "会员等级", width = 30, orderNum="5")
    @ApiModelProperty(value = "客户等级文本")
    private String levelText;

    @ApiModelProperty(value = "HPC供应商ID")
    private String providerId;
    @Excel(name = "供应商", width = 30, orderNum="0")
    @ApiModelProperty(value = "HPC供应商名称")
    private String providerName;
    @ApiModelProperty(value = "HPC供应商用户名")
    private String providerUserName;
    @ApiModelProperty(value = "HPC供应商密码")
    private String password;
    @ApiModelProperty(value = "HPC供应商类型,DQ01,DN02")
    private String providerCode;

}
